<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<title></title>
	</head>
	<body>
		功能需求：添加的书本的id是原来所有书本的最大值+1
			从书本数组中找出id最大的书本
				1、书本数组是对象数组
				2、实现方式一：简化成一个纯数字的数组，通过遍历将id保存到另一个数组中
					Math.max()或Math.max().apply()找出最大值
				3、实现方式二：假设法：假设第一条的数据的id是最大值
				4、实现方式三：先将数组以id做小到大的排序，再取数组的最后一条
		数组的基本使用
			定义
			赋值
			长度
			遍历
			增删改
		数组的高级使用
			最大值
			最小值
			平均值
			排序
			
		<script type="text/javascript">
			let arr = [-3,5,13,9,11];
			//方式一
			// console.log(arr);
			// console.log(arr.toString());
			//...运算符，如果加在数组前面，表示将数组的元素一一对应到函数的形参上
			// console.log(...arr);
			// console.log(Math.max(arr[0],arr[1],arr[2],arr[3],arr[4]));
			//最大值
			console.log(Math.max(...arr));
			//最小值
			console.log(Math.min(...arr));
			// // 升序
			// console.log(arr.sort(function (x,y) {return x-y;}));
			// // 降序
			// console.log(arr.sort(function (x,y) {return y-x;}));
			
			function max(){
				let zuidazhi = arguments[0]; //假设第一元素是最大值
				for(let item of arguments){
					if(zuidazhi < item){
						zuidazhi = item;
					}
				}
				console.log(zuidazhi);
			}
			
			/**
			 * 索引数组排序
			 * @param  {int} order 升序或降序(1表示升序,2表示降序)
			 * @return {array}
			 */
			function sequence(order){
			    return function (x,y){
			        return order?x-y:y-x;
			    }
			}
			// 升序排序
			console.log(arr.sort(sequence(1)));
			// 降序排序
			console.log(arr.sort(sequence(0)));
			
			//中位数
			
			
			//平均值
			var sum = 0;
			for(var i = 0; i < arr.length; i++){                
				var average = 0;
				sum = sum + arr[i];
				average = sum / arr.length;
			}
			console.log(average);
			
			
			let books = [
				{id: 1,name: '三国演义',tdate: '1899-08-09',price: '60.00',count: 1,account: "hh"},
				{id: 2,name: '水浒传',tdate: '1863-09-10',price: '69.00',count: 1,account: "haha"},
				{id: 3,name: '红楼梦',tdate: '1884-03-12',price: '99.00',count: 1,account: "aa"},
				{id: 4,name: '西游记',tdate: '1900-07-28',price: '9.00',count: 1,account: "aa"},
				{id: 5,name: 'Java基础',tdate: '1908-07-28',price: '5.00',count: 1,account: "aa"}
			];
			console.log(objmaxid(books).id);
			console.log(objminid(books).id);
			/**
			 * @param {Object} arr 
			 * 找出最大的记录
			 * */
			function objmaxid(arr){
				if(arr instanceof Array){//要求arr参数必须是数组
					let max = arr[0];//最大记录
					for(let item of arr){
						if(max.id < item.id){ //比较id，找出最大的id
							max = item;
						}
					}
					return max;
				}
			}
			//最小值
			function objminid(arr){
				if(arr instanceof Array){//要求arr参数必须是数组
					let min = arr[0];//最大记录
					for(let item of arr){
						if(min.id > item.id){ //比较id，找出最大的id
							min = item;
						}
					}
					return min;
				}
			}
			//找到id最大的对象，id自增1
			//objmaxid(books);
			let max = objmaxid(books);
			max.id++;
			//add(max);
			console.log(books);
			
			function add(arg){
				arg.id++;
			}
			
			//价格的平均数
			var sum = 0;
			for (var i = 0; i < books.length; i++){                
				var average = 0;
				sum = sum + books[i];
				average = sum / books.length;
			}
			console.log(average);
			
		</script>
	</body>
</html>